Nearly all commercial database systems rely on caching techniques to improve performance. Caches are often implemented to support memory that can be accessed quickly, such as random access memory (RAM), as opposed to storage that takes longer to access, such as disk-based storage. Caches typically store frequently used data and reduce the time needed by a database system to access a data page.
Most systems have more than one memory device (multi chip memory or MCP systems) and use a wide shared bus to read data from different memory devices depending on which memory device is selected. A host controller performs a read operation from one memory device at a time. This ensures fast data access from a particular memory, but every time a memory is selected to be read, it has to go through an initial access time, or delay, before the data can be read. This delay is imposed before each memory is read and thus can slow the memory bandwidth speed when accessing multiple memory devices.